home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / utility / ffg155.zip / FFG.DOC < prev    next >
Text File  |  1993-12-10  |  57KB  |  1,617 lines

  1.  
  2.  
  3.  
  4.                      File Finder/Grouper (FFG)
  5.                            Version 1.55
  6.  
  7.  
  8.                          Shareware Manual
  9.                Copyright 1992-1993 Thomas G. Vavoso
  10.                         President, EnGamma
  11.                        All Rights Reserved
  12.  
  13.                       2407 Cameron Mills Rd.
  14.                       Alexandria, Va. 22302-3302 USA
  15.  
  16.                        Telephone: (703)548-6869
  17.                       Compuserve: 71674,1747
  18.                            GEnie: T. Vavoso
  19.                         Internet: T.Vavoso@genie.geis.com
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.      File Finder/Grouper (FFG) performs three basic functions:
  29.  
  30.        1)  Searches disks/archive files for files based on flexible
  31.            user-specified search criteria (e.g., name,
  32.            date/time/size/Day-of-week ranges, text contents,
  33.            attributes...).
  34.        2)  Groups files for processing
  35.        3)  Groups files for building databases of files
  36.  
  37.      If you think you already have a utility program that fills these
  38.      functions, try the DEMO programs, examine the EXAMPLES.FFG file,
  39.      and read the section "FFG Compared to Other File Finders", before
  40.      you decide to put FFG aside.
  41.  
  42.      If you want to start using FFG right away read the "Quick Start"
  43.      section below.  Otherwise, skip to "Introduction".
  44.  
  45.      Be sure to read the "Shareware" notice on the next page.  The
  46.      registration cost for a single-user license and two years of
  47.      updates is currently $10 plus a small shipping/processing fee for
  48.      updates.  See the FFG.REG file for details.
  49.  
  50.      This manual is available in WordPerfect 5.1/5.2 format to
  51.      registered users upon request.
  52.  
  53.  
  54.  
  55.  
  56.      File Finder/Grouper             1                     (c) EnGamma
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                  Shareware
  64.  
  65.           Shareware distribution gives users a chance to try software
  66.      before buying it.  If you try a shareware program and continue
  67.      using it, you are expected to register.  Individual programs
  68.      differ on details -- some request registration while others
  69.      require it, some specify a maximum trial period.  With
  70.      registration, you get anything from the simple right to continue
  71.      using the software to an updated program with printed manual.
  72.  
  73.           Copyright laws apply to both shareware and commercial
  74.      software, and the copyright holder retains all rights, with a few
  75.      specific exceptions as stated below.  Shareware authors are
  76.      accomplished programmers, just like commercial authors, and the
  77.      programs are of comparable quality.  (In both cases, there are
  78.      good programs and bad ones!)  The main difference is in the
  79.      method of distribution.  The author specifically grants the right
  80.      to copy and distribute the software, either to all and sundry or
  81.      to a specific group.  For example, some authors require written
  82.      permission before a commercial disk vendor may copy their
  83.      shareware.
  84.  
  85.           Shareware is a distribution method, not a type of software.
  86.      You should find software that suits your needs and pocketbook,
  87.      whether it's commercial or shareware.  The shareware system makes
  88.      fitting your needs easier, because you can try before you buy.
  89.      And because the overhead is low, prices are low also.  Shareware
  90.      has the ultimate money-back guarantee -- if you don't use the
  91.      product, you don't pay for it.
  92.  
  93.           FFG is a copyrighted shareware program by Thomas G. Vavoso,
  94.      President, EnGamma.  The evaluation edition of FFG is offered at
  95.      no charge to any potential user for evaluation, but after a brief
  96.      evaluation period users must register.  Feel free to share the
  97.      evaluation edition with your friends and associates, but please
  98.      do not give it away altered or as part of another system.  The
  99.      essence of "user-supported" software is to provide personal
  100.      computer users with quality software without high prices, and yet
  101.      to provide incentive for programmers to continue to develop new
  102.      products.
  103.  
  104.  
  105.                            Disclaimer of Warranty
  106.  
  107.      Users of FFG must accept this disclaimer of warranty:  FFG is
  108.      supplied as-is.  The author disclaims all warranties, expressed
  109.      or implied, including, without limitation, the warranties of
  110.      merchantability and of fitness for any purpose.  The author
  111.      assumes no liability for damages, direct or consequential, which
  112.      may result from the use of FFG.
  113.  
  114.  
  115.  
  116.      File Finder/Grouper             2                     (c) EnGamma
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.                                 Quick Start
  124.  
  125.      1.  Demonstrations - The quickest way to become familiar with FFG
  126.      or to get ideas for possible uses is run the DEMO program
  127.      (DEMO.BAT).  Go to the disk and directory with the demo batch
  128.      files in it and enter:
  129.  
  130.          demo
  131.  
  132.      2.  Examples - See the file "EXAMPLES.FFG" included in the FFG
  133.      package for a concise listing of many examples.
  134.  
  135.      3.  Command Syntax
  136.  
  137.      USAGE: FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
  138.  
  139.      "NameMask" can contain one or more extended DOS wild card
  140.      characters to specify the file name:"
  141.  
  142.                   * = matches any string of zero or more characters"
  143.                   ? = matches any one character
  144.  
  145.      "DriveSpec" can be more than a simple drive letter:
  146.        - If a '*' is substituted for a drive letter, all but A: & B:
  147.          are searched and redundant logical (substitute) drives are
  148.          skipped.
  149.        - Multiple drives can be explicitly specified (e.g., A-D:,
  150.          BDF:).
  151.        - Drives listed after the '*' are excluded (e.g., *M: searches
  152.          all but M:).
  153.  
  154.      - To search for directories instead of files, put a '\' after
  155.        the NameMask
  156.      - During the search, pressing the following keys have the
  157.        following effect:
  158.  
  159.          <ESC> will stop the search.
  160.          <G> will go to (Change Dir) the last found file.
  161.          <S> will skip the current drive.
  162.          <B> will cause FFG to beep when done searching.
  163.          Pressing any other key will pause the search operation.
  164.  
  165.      - Either '-' or '/' are acceptable command line option switches.
  166.      - Options may be in any order, before or after the Search Mask.
  167.      - There should be no spaces between option switches and their
  168.        parameters.
  169.  
  170.      4.  Built-in Help/Examples - To get a listing of options and
  171.      command syntax, at the DOS prompt enter:
  172.  
  173.         ffg        -      Usage, help, examples, options
  174.         ffg /?     -      Command-line option help
  175.  
  176.      File Finder/Grouper             3                     (c) EnGamma
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.         ffg /?n    -      Help for option 'n'; (e.g., /?d is help for
  184.                           date option)
  185.  
  186.  
  187.      5.  Finding a File on the Current Drive - To find a file anywhere
  188.      on the current drive enter:
  189.  
  190.         FFG filename.ext
  191.  
  192.        where "filename.ext" is the name of the file you want to find.
  193.  
  194.      6.  Finding a File on All Hard Drives - To find a file anywhere
  195.      on hard drives connected to your system enter:
  196.  
  197.         FFG *:filename.ext
  198.  
  199.        where the '*' is interpreted to mean all non-logical disk
  200.        drives except A: and B:, which are assumed to be floppy
  201.        drives.
  202.  
  203.  
  204.      7.  Finding a File on All Drives (including floppies) - To find a
  205.      file anywhere on the system drives enter:
  206.  
  207.         ffg ab*:filename.ext
  208.  
  209.        where "ab*" is interpreted to mean search drives A: and B: plus
  210.        all hard drives.
  211.  
  212.      8.  Searching Inside Archive Files (e.g., .ZIP files) - To search
  213.      all drives and inside all archive files on those drives type:
  214.  
  215.         ffg  *:filename.ext /z
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.      File Finder/Grouper             4                     (c) EnGamma
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.                                 Introduction
  244.  
  245.      To get a quick idea of FFG's capabilities run the batch files
  246.      included in DEMOBAT.ZIP or scan through the examples in
  247.      EXAMPLES.FFG.
  248.  
  249.      Here is a basic list of features:
  250.  
  251.      - Perform filename searches using extended DOS wild card
  252.        characters * and ?.  For example you can find all files with
  253.        "doc" anywhere in the name.  This search is not possible using
  254.        standard DOS wildcard conventions.
  255.  
  256.      - Easily search all disk drives or only selected drives.
  257.  
  258.      - Search for files or exclude files based on file name, date,
  259.        time, size, day-of-week, attributes (hidden/system/read
  260.        only/archive), and occurrence of text (including control
  261.        codes) within the file.
  262.  
  263.      - Searches popular archive/compressed file formats such as those
  264.        created with PKZip.
  265.  
  266.      - Can execute an arbitrary DOS command for each found file.
  267.  
  268.      - Versatile and Customizable Output Formats:
  269.  
  270.         -  Standard columnar output, which is a basic fixed field
  271.            output of the various file information items:
  272.  
  273.          FILENAME.EXT 12345  1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
  274.  
  275.         -  Packed format, which allows formation of list files for
  276.            subsequent processing (e.g., PKZip @file):
  277.  
  278.          C:\DIRECT\SUBDIR\FILENAME.EXT
  279.  
  280.         -  Comma delimited ASCII database file format, which allows
  281.            databases of found files to be built:
  282.  
  283.          "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\"
  284.  
  285.         -  Batch file processing format, which allows sophisticated
  286.            manipulation of found files as a group:
  287.  
  288.          %1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
  289.  
  290.        Within each of the above basic format types the user can
  291.        further customize the output.  (See the detailed reference for
  292.        the /f option.)
  293.  
  294.      - See the section "FFG Compared to Other File Finders".
  295.  
  296.      File Finder/Grouper             5                     (c) EnGamma
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.                      FFG Compared to Other File Finders
  304.  
  305.      File Finder/Grouper (FFG) performs functions similar to those
  306.      found in other utility programs, but here are some FFG features
  307.      that some other file finders lack:
  308.  
  309.      1.  FFG uses the DOS wildcard characters '*' and '?' but they
  310.          have extended function over the DOS counterparts.  The
  311.          extended functionality permits you to search for strings of
  312.          characters that appear anywhere in the file name.
  313.  
  314.      2.  FFG can search for multiple file specifications in a single
  315.          pass, such as find all BAT, COM and EXE files.
  316.  
  317.      3.  FFG permits you to concisely specify multiple file name
  318.          search masks such as "*[ZIP,ARC,ARJ,LHA]*.[COM,EXE]" to find
  319.          all archiving programs.
  320.  
  321.      4.  FFG can search all disk drives or selected disk drives.
  322.  
  323.      5.  FFG can search inside of archive files (ZIP, ARC, ARJ, LZH).
  324.          (FFG also searches inside XEQ COM library files).
  325.  
  326.      6.  FFG can execute and arbitrary DOS command for each file
  327.          found with or without a user confirmation before execution.
  328.  
  329.      7.  FFG finds hidden files and searches hidden directories.
  330.  
  331.      8.  FFG searches inside directories with name extensions (e.g.,
  332.          THISISMY.DIR).  Some file finders do not search these
  333.          directories.
  334.  
  335.      9.  FFG can move to the disk and directory of the found file (/g
  336.          option).
  337.  
  338.      10. FFG can search for directories instead of files simply by
  339.          appending a backslash '\' to the search name.
  340.  
  341.      11. FFG can search by a date range, time range, size range, or
  342.          day-of-week range using intuitive syntax to specify these
  343.          criteria.
  344.  
  345.      12. FFG can search by the file attributes or combination of
  346.          attributes, such as finding all Hidden Read-Only files.
  347.  
  348.      13. FFG can find files based on the day of the week (i.e., Sun -
  349.          Sat) they were modified/created.
  350.  
  351.      14. FFG can find files based on whether or not the file contains
  352.          one or more text/ASCII-code strings.
  353.  
  354.      15. FFG permits you to exclude certain files base on name, date,
  355.  
  356.      File Finder/Grouper             6                     (c) EnGamma
  357.  
  358.  
  359.  
  360.  
  361.  
  362.          time, size, attributes, day-of-week criteria, text contents.
  363.  
  364.      16. FFG can search for files by date relative to today, such as
  365.          all files modified/created 7 to 14 days ago.
  366.  
  367.      17. FFG can search for files relative to the current time of
  368.          day, such as all files modified/created within the last ten
  369.          minutes.
  370.  
  371.      18. The asterisk '*' can be used as a wildcard in date and time
  372.          criteria, such as /d9/*/93 for all September 1993 files and
  373.          /t13:* for all 1:00pm - 1:59pm files.
  374.  
  375.      19. Current month (M), day (D), year (Y) can be specified in
  376.          date criteria such as 1/1/Y-6/30/Y, M/D/Y (today)
  377.  
  378.      20. Current hours (H), minutes (M), seconds (S) can be specified
  379.          in time criteria such as H:M:S (now).
  380.  
  381.      21. Partial dates and times are interpreted, such as 9/93 ->
  382.          9/*/93, 5/1 -> 5/1/Y (Y = current year), 92-93 -> all 1992-
  383.          1993 files, 9 -> 9:00:00am.
  384.  
  385.      22. Multiple date, time, size, day-of-week, attribute criteria
  386.          can be specified, which are combined in a logical AND or OR
  387.          depending on how they are specified.
  388.  
  389.      23. FFG lets you pause (press any key) or interrupt (press
  390.          <ESC>) the search operation at any time.
  391.  
  392.      24. FFG can be used to produce database files of its output
  393.          (ASCII comma-delimited files)(/f, option)
  394.  
  395.      25. FFG provides useful default output format options but
  396.          permits extensive user customization of the output format.
  397.  
  398.      26. FFG can be used to produce output as DOS batch files (.BAT)
  399.          with DOS replaceable parameters (%1 through %9).  The batch
  400.          file can then be used to execute a arbitrary command against
  401.          the group of files such as copy, back up, archive, delete,
  402.          move, edit...).  The power and flexibility of this feature
  403.          is limited only by your imagination.  Although some other
  404.          finders have similar capability, they do not have the same
  405.          flexibility.
  406.  
  407.      27. By default, when FFG is searching all disk drives, it skips
  408.          disk drives that are logical aliases of other physical
  409.          drives that have already been searched.  This avoids reports
  410.          of multiple copies of a file when in fact there is only one
  411.          physical copy of the file.
  412.  
  413.      28. FFG lets you use 43- and 50-line video modes on EGA/VGA
  414.          systems so you can see more on the screen.
  415.  
  416.      File Finder/Grouper             7                     (c) EnGamma
  417.      File Finder/Grouper             8                     (c) EnGamma
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.                              Usage and Examples
  425.  
  426.         FFG [DriveSpec:][PathSpec]NameMask[,NameMask2...][\] [options]
  427.  
  428.      FFG is currently not case sensitive.  However, as features are
  429.      added in future releases case may be used to distinguish options.
  430.      Therefore, use of lower case is recommended.  In many of the
  431.      examples provided in this manual mixed upper and lower case is
  432.      used for clarity only.
  433.  
  434.      DriveSpec tells FFG which drives to search.  If DriveSpec is not
  435.      specified the current disk is searched.  A simple DOS drive
  436.      letter designation can be specified (e.g., C:) or a list of
  437.      drives can be specified (e.g., ABC:).  Also, a '*' can be used to
  438.      mean all drives except A: and B: and logical substitute drives.
  439.      When '*' is used, it can be combined with an explicit search list
  440.      (e.g., ab*:); the drives that are explicitly listed will be
  441.      searched first.  If you wish to specify "all drives but..." then
  442.      list the drives to exclude after the '*' (e.g., *cd).  Finally, a
  443.      range of drives may be specified (e.g., a-z:).  If any drives
  444.      that are explicitly specified cannot be accessed, such as empty
  445.      floppy drives, FFG reports them as inaccessible.  See the
  446.      following DriveSpec examples.
  447.  
  448.      PathSpec tells FFG which directory to use as the search starting
  449.      point.  The specified directory and all descendent subdirectories
  450.      will be searched unless the NO RECURSION option (/r) is
  451.      specified.  See the following PathSpec examples.
  452.  
  453.      NameMask gives FFG a file name pattern to look for.  Multiple
  454.      name masks can be specified by separating them with a comma (',')
  455.      sign.  NameMask can use DOS wildcard characters '*' and '?', but
  456.      they have extended functions.  The '*' will match zero or more
  457.      characters and the '?' will match exactly one character.  The
  458.      period that separates the file first name and the filename
  459.      extension is treated as any other character in the name.  If a
  460.      terminating backslash is appended to the list of NameMasks, FFG
  461.      will search for directories in lieu of files.  See the following
  462.      NameMask examples.
  463.  
  464.      NameMasks can also include alternative patterns to concisely
  465.      specify multiple masks that have common elements.  For example,
  466.      rather than specify "*.BAT,*.COM,*.EXE", you can use
  467.      "*.[BAT,COM,EXE]".  The bracketed contain different possible
  468.      alternatives for that part of the NameMask.  Brackets can be
  469.      nested.  Here are two more complicated examples:
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.      File Finder/Grouper             9                     (c) EnGamma
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.        1.  Let's say you want to see all files which have names that
  485.      are variants of "CONFIG" or an abbreviation of it.  Here's how
  486.      you might specify it: "*C[[O,]N,]F[I,]G*",
  487.  
  488.        which is equivalent to specifying:
  489.  
  490.          "*CONFIG*,*CONFG*,*CNFIG*,*CNFG*,*CFIG*,*CFG*"
  491.  
  492.        2.  Let's say you want a listing of all archiving programs,
  493.      including batch files that perform and archiving function.
  494.      Here's how you could specify it:
  495.  
  496.          "*[ZIP,ARC,ARJ,LHA,PAK,ZOO]*.[EXE,COM,BAT]"
  497.  
  498.        The above is equivalent to specifying 18 separate NameMasks:
  499.  
  500.          "*ZIP*.EXE,*ZIP*.COM,*ZIP*.BAT,...,*ZOO*.COM,*ZOO*.BAT"
  501.  
  502.      NOTE: Slashes can be used instead of commas as in
  503.            "*.[BAT/COM/EXE]".  This permits a NameMask to be passed
  504.            to FFG as a parameter to a batch file.  This would not
  505.            otherwise be possible using commas because DOS considers
  506.            the comma to be a batch file command-line argument
  507.            delimiter.
  508.  
  509.      Drive Specifier (DriveSpec) Examples:
  510.  
  511.      These examples illustrate the different ways to specify which
  512.      disk drives should searched.
  513.  
  514.      ffg  filename        -  Searches current drive
  515.  
  516.      ffg  c:filename      -  Searches drive C:
  517.  
  518.      ffg  *:filename      -  Searches all drives but A:, B:, and logical
  519.                              substitute drives.
  520.  
  521.      ffg  ab*:filename    -  Searches all drives but logical substitute
  522.                              drives
  523.  
  524.      ffg  a-z:filename    -  Searches all drives
  525.  
  526.      ffg  ec*:filename    -  Searches E: then C: then all other non-
  527.                              logical drives but floppies
  528.  
  529.      ffg  *c:filename     -  Searches all non-logical drives but C: and
  530.                              floppies
  531.  
  532.      ffg d*m-z:filename   -  Searches D: then all non-logical drives
  533.                              except M: through Z:
  534.  
  535.  
  536.  
  537.      File Finder/Grouper             10                    (c) EnGamma
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.      File Path Specifier (PathSpec) Examples:
  545.  
  546.      These examples illustrate the different ways to specify the
  547.      directory where the search should start.
  548.  
  549.      ffg  filename        -  Searches from root directory
  550.  
  551.      ffg  \filename       -  Searches from root directory
  552.  
  553.      ffg  \DOS\filename   -  Searches from \DOS directory
  554.  
  555.      ffg  .\filename      -  Searches from current directory
  556.  
  557.      ffg  ..\filename     -  Searches from parent of current directory
  558.  
  559.      ffg  \filename /r    -  Searches only the root directory, no
  560.                              subdirectories
  561.  
  562.      File Name Mask (NameMask) Examples:
  563.  
  564.      These examples illustrate the different ways to search based on
  565.      the file name.
  566.  
  567.      ffg  *.*            -  Searches for all files
  568.  
  569.      ffg  *              -  Searches for all files (identical to *.*)
  570.  
  571.      ffg  *\             -  Searches for all directories
  572.  
  573.      ffg  *bat           -  All files ending in 'BAT' (Finds: BALLBAT,
  574.                             WOMBAT, AUTOEXEC.BAT...)
  575.  
  576.      ffg  *.bat          -  All files with a '.BAT' extension.  (Finds:
  577.                             BALL.BAT but will NOT find BALLBAT)
  578.  
  579.      ffg  *read*me*      -  All files with 'read' anywhere in name
  580.                             followed by 'me' (Finds: READ.ME, PLS-
  581.                             READ.ME, README, README.COM, READU.NME,
  582.                             YOUREAD.ME)
  583.  
  584.      ffg  *help*,*hlp* or
  585.      ffg  *h[e,]lp*      -  All files with 'help' or 'hlp' anywhere in
  586.                             the name.  (Finds: WINHELP.EXE, SETUP.HLP,
  587.                             PRINTHLP.EXE...)
  588.  
  589.      ffg  *c*f*g*        -  All files with 'c', 'f', and 'g' in order
  590.                             in name.  (Finds: CONFIG.SYS, MIDIMAP.CFG,
  591.                             CFGSAVE.DLL, MYCFG.DAT, MYCONFG.FIL...)
  592.  
  593.      ffg  *.             -  Finds extensionless files
  594.  
  595.      ffg  ????.*         -  Finds files with exactly four characters in
  596.  
  597.      File Finder/Grouper             11                    (c) EnGamma
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.                             first name.  (Finds: DATA.IN, DATA.OUT,
  605.                             TASM.EXE, TEST...; Doesn't find: TEST1,
  606.                             TST.DAT...)
  607.  
  608.      ffg  *bat?*         -  Finds files with 'BAT' anywhere in name but
  609.                             at the end.  (Finds: BATLIB.COM, MYBAT.DAT,
  610.                             BALLBATS...; Doesn't find: BALLBAT,
  611.                             AUTOEXEC.BAT)
  612.  
  613.      ffg  ??????         -  Finds all files having exactly 6 character
  614.                             names, including the period if the file has
  615.                             an extension.  (Finds: SCRAPS, GO.BAT,
  616.                             SAVE.C)
  617.  
  618.      ffg * /x*.bat       -  Finds all files but DOS batch files (.BAT)
  619.  
  620.      ffg *win*\          -  Searches for all directories with 'WIN'
  621.                             anywhere in the directory name
  622.  
  623.      ffg *arc*.[com,exe] -  Search for all 'arc' programs
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.      File Finder/Grouper             12                    (c) EnGamma
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.            Alphabetical Listing of Command Line Options/Switches
  665.  
  666.      Quick Reference:
  667.  
  668.      Option Switch Function
  669.      /a  Attributes of File
  670.      /b  Beep when file found, prompted, and/or done
  671.      /d  Date of File
  672.      /e  Execute Command for each find
  673.      /f  Format of Output
  674.      /g  Go to directory
  675.      /h  Hidden directories
  676.      /p  Page at a time
  677.      /q  Quiet/no screen output
  678.      /r  Recursion (subdirectory search)
  679.      /s  Size of file
  680.      /t  Time of file
  681.      /v  Video mode # of lines
  682.      /x  eXclude Files
  683.      /z  ZIP and other archive file search
  684.      /1  Find only 1 file
  685.      /$  Text/code string within file
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.      File Finder/Grouper             13                    (c) EnGamma
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.      Options - Detailed Reference:
  725.  
  726.      /a  Attributes of File
  727.  
  728.      /aAttrMask[[,|']AttrMask...] - include only files matching
  729.      specified attributes
  730.  
  731.          AttrMask = is a string composed of H,S,R,A,'.'
  732.  
  733.          H = hidden attribute set.
  734.          S = system attribute set.
  735.          R = read-only attribute set.
  736.          A = archive attributes set.
  737.          ! = before one of the above, it means not set
  738.          . = "specified attributes period"; unspecified attributes
  739.              must not be set; The period must be at the end of the
  740.              string, e.g. /aHR. = hidden AND read only files with no
  741.              other attributes set.
  742.  
  743.          Attribute Examples
  744.  
  745.          /aR                   - Read-only files
  746.          /aH                   - Hidden files
  747.          /a!S                  - All but System files
  748.          /aA                   - Files with Archive bit set
  749.          /aHR                  - Files that are both hidden and read-
  750.                                  only
  751.          /aHR.                 - Hidden&Read-only files with no other
  752.                                  attributes set
  753.          /aH!R                 - Hidden files that are not read only
  754.          /a!H                  - Files that are not hidden
  755.          /a!H!R                - Files that are neither hidden or
  756.                                  read-only
  757.          /aHR!S!A              - Files with only hidden and read-only
  758.                                  attributes (same as /aHR.)
  759.          /a!H /a!S /a!R        - Normal files (not Hid AND not Sys AND
  760.                                  not Read-only)
  761.          /aHS,SR,HR /a!H,!S,!R  - Any two of H, S, R, but not all three
  762.  
  763.      /b  Beep - Beeps the system speaker for specified events
  764.  
  765.      /b[F][P][D][E] - Beeps when:
  766.  
  767.          F = a file is found
  768.          P = user is prompted
  769.          D = program is done running
  770.          E = Error
  771.  
  772.            if /b is specified alone beeps will occur for all of the
  773.            above
  774.  
  775.  
  776.  
  777.      File Finder/Grouper             14                    (c) EnGamma
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.      /d  Date of File
  785.  
  786.      /dDateRangeStr[[,|']DateRangeStr...] - include only files
  787.      matching specified date range
  788.  
  789.          where DateRangeStr is one of the following:
  790.  
  791.          mm/dd/yy              - only files matching mm/dd/yy
  792.          m1/d1/y1-m2/d2/y2     - only files matching this date range
  793.                                  inclusive
  794.          -mm/dd/yy             - only files on or before this date
  795.          mm/dd/yy-             - only files on or after this date
  796.          T                     - Relative: only files with Today's
  797.                                  date
  798.          nT-Tm                 - Relative: n days before TODAY to m
  799.                                  days after today
  800.          nT-mT                 - Relative: n days before TODAY to m
  801.                                  days before TODAY
  802.          [Su|Mo|Tu|We|...|Sa]  - only file matching specified day of
  803.                                  the week. Can also specify a range in
  804.                                  this way.  Use alone or in addition
  805.                                  to above date options.
  806.  
  807.          Asterisks may be used in lieu of mm,dd,yy date elements to
  808.          ignore an element.  The characters M, D, Y can be used in
  809.          lieu of numeric mm, dd, yy elements to use the current month
  810.          (M), day (D), year (Y).  If some elements are left off
  811.          assumptions are made as follows:  If an element is left off
  812.          and its separator '/' is used then the current value for the
  813.          missing element is assumed (e.g. 9//93 -> 9/D/93).  If one
  814.          separator is missing (i.e., xx/yy) a guess is made based on
  815.          the values used for xx and yy:  If it is possibly a mm/yy
  816.          value, then mm/*/yy (any day) is assumed.  If it is possible
  817.          a mm/dd value then mm/dd/Y (current year) is assumed.  If
  818.          it's neither of the above then its a dd/yy value and M/dd/yy
  819.          is assumed.  Similar guesses are made if both separators are
  820.          missing (i.e., xx):  If xx is possible a year then */*/yy is
  821.          assumed.  If xx is possibly a day, then M/dd/Y is assumed.
  822.  
  823.  
  824.          Date Examples
  825.  
  826.          /d1/1/93              - Files dated 1/1/93
  827.          /d1/1/80-12/31/80     - Files having a 1980 date
  828.          /d-12/31/92           - Files dated 1992 and earlier
  829.          /d1/1/93-             - Files later than 1992
  830.          /dT                   - Files dated TODAY
  831.          /d6T-T                - Files dated in the last 7 days
  832.          /d14T-7T              - Files dated 7-14 days ago
  833.          /dSu                  - Files dated on a Sunday
  834.          /d6T-T /dFr           - Files dated last Friday
  835.          /d6T-T /dSa-Su        - Files dated last Weekend
  836.  
  837.      File Finder/Grouper             15                    (c) EnGamma
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.          /dM/D/Y               - Files dated today (same as /dT)
  845.          /d//                  - Files dated today
  846.          /d1-15                - Files dated 1st-15th of this month
  847.          /d80-85               - Files dated between 1980 and 1985
  848.          /d7/92-12/92          - Files dated in second half of 1992
  849.  
  850.      /e  Execute Command for each find
  851.  
  852.      /e[!][CommandStr] - Execute a command for each found file.
  853.  
  854.          where CommandStr is either:
  855.  
  856.          1. Not specified, in which case the found file itself is
  857.          executed.  It is assumed the found file is executable,
  858.          otherwise the command will not execute.
  859.  
  860.          2. It is a DOS command string including optional Format
  861.          Specifiers.  The Format Specifiers are the same as those used
  862.          for output formatting (see /f description) except that they
  863.          must be preceded by a '%' character to distinguish them from
  864.          normal characters.  For example, to represent the full file
  865.          name, %n would be used.  Spaces are represented with %_ and
  866.          double quotes are represented by %'.  These two special
  867.          specifiers are required to avoid DOS interpreting the space
  868.          and double quotes when you enter them as FFG options.  Inside
  869.          batch files, two percent signs %% are required to avoid
  870.          having DOS interpret the % as a replaceable parameter.
  871.  
  872.          The command is executed from the disk drive and directory of
  873.          the found file.
  874.  
  875.          Confirmation - Normally FFG asks the user to confirm whether
  876.          the command should be executed.  However, if the '!' is
  877.          specified, the command will be executed for all found files
  878.          without asking the user for confirmation.  When confirmation
  879.          is on, the user is given the following options:
  880.  
  881.              1. <Y>es - Execute the command
  882.              2. <N>o  - Skip the command execution
  883.              3. <A>ll - Execute the command and turn off subsequent
  884.                 confirmations
  885.              4. <S>hell - Shell to the DOS prompt
  886.              5. <ESC> - Quit
  887.  
  888.          Execute Command Examples:
  889.  
  890.          /e                    - Execute each found file
  891.                                  w/confirmation
  892.          /e!                   - same as above without confirmation
  893.          /eREN%_%P\%N%_%F.NEW  - => ren d:\path\fname.ext fname.new
  894.          /eDEL%_%P\%N          - => del d:\path\fname.ext
  895.          /eMD%_NEWSBDIR        - => md newsbdir (make new subdirectory)
  896.  
  897.      File Finder/Grouper             16                    (c) EnGamma
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.          "/eCOPY %P\%N A:"     - => copy d:\path\fname.exe a: (note that
  905.                                  by quoting the entire command option,
  906.                                  including the /g, you can avoid
  907.                                  having to use the space Format
  908.                                  Specifier, %_)
  909.  
  910.      /f  Format of Output
  911.  
  912.      /fxFormatStr
  913.  
  914.          There are four basic types of output formats supported by
  915.          FFG: Columnar output (the default), Packed path, ASCII Comma
  916.          delimited and Batch File.  Within each of these types there
  917.          is much flexibility in defining the precise output (see
  918.          Format Strings below).  Examples of each are:
  919.  
  920.          1. Columnar Output (/fc, this is the default format)
  921.  
  922.            FILENAME.EXT 12345  1/01/92 23:59 HSRA C:\DIRECT\SUBDIR
  923.  
  924.          2. Packed Path Output (/fp)
  925.  
  926.            C:\DIRECT\SUBDIR\FILENAME.EXT
  927.  
  928.          3. ASCII Comma Delimited Database Output (/f,)
  929.  
  930.          "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIRECT\SUBDIR\"
  931.  
  932.          4. Batch File Output (/fb)
  933.  
  934.            %1 C:\PATH\FILENAME.EXT %2 %3 %4 %5 %6 %7 %8 %9
  935.  
  936.  
  937.          Here is a detailed description of the output formatting
  938.          options:
  939.  
  940.      /fxFormatStr
  941.  
  942.      x = C Column        - Fixed field width columnar output ("NSDTAP"
  943.                            default)
  944.  
  945.          P Packed        - Merge all fields together ("PN" is default)
  946.  
  947.          , Comma         - Comma-delimited ASCII database format
  948.  
  949.          B Batch File    - Format for batch processing with %1, %2....
  950.  
  951.          S Summary       - Summary Control - This option determines
  952.                            whether a summary report is displayed and
  953.                            is used independent of the other /f option
  954.                            switches.  The 's' must be followed by '.'
  955.                            or '!', which have the following meanings:
  956.  
  957.      File Finder/Grouper             17                    (c) EnGamma
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.                            . - Summary only
  965.                            ! - no summary (good for when you are
  966.                                redirecting output and don't want the
  967.                                summary report to be redirected to the
  968.                                file).
  969.  
  970.          FormatStr is a string composed of Format Specifiers: n, f, e,
  971.          s, d, t, a, p, '.', 'r', ':', '\' or '_' where:
  972.  
  973.          f   = file First name (e.g. if file is FNAME.EXT then "FNAME"
  974.                is displayed)
  975.        { c   = Comments/File Descriptive notes
  976.          e   = file Extension (e.g. if file is FNAME.EXT then ".EXT"
  977.                is displayed)
  978.          s   = Size of file
  979.          d   = Date of file
  980.          t   = Time of file
  981.          n   = Full FileName, including extension (e.g., FNAME.EXT)
  982.          a   = file Attributes e.g. "H-R-" for a hidden and read-only
  983.                file; *ZIP, *ARC for files found in ZIP and ARC files
  984.          p   = full Path to file, including disk drive (trailing
  985.                backslash '\' is excluded for all but Comma-delimited
  986.                output)
  987.          r   = diRectory path without drive (trailing backslash '\' is
  988.                excluded for all but Comma-delimited output)
  989.          .   = period put in output
  990.          _   = blank space
  991.          '   = single quote translated to double quote (/e option
  992.                only).
  993.          %   = to get a % sign (/e option only)
  994.          \   = backslash directory separator
  995.          :   = drive on which file was found (e.g. C:)
  996.          0-9 = (meaningful with the /fB option only) inserts a
  997.                corresponding DOS .BAT file replaceable parameter %0-%9
  998.                (e.g. 1->%1);
  999.  
  1000.          Formatting Examples
  1001.  
  1002.          1. /FCnsdtap displays output in fixed Columns (the default)
  1003.          as follows:
  1004.  
  1005.              FILENAME.EXT 12345  1/01/92 23:59 HSRA C:\DIR\SUBDIR
  1006.  
  1007.          2. /FPpn displays results in a Packed format as follows:
  1008.  
  1009.              C:\DIR\SUBDIR\FILENAME.EXT
  1010.  
  1011.          3. /F, displays Comma-delimited results for import into a
  1012.          database as follows:
  1013.  
  1014.           "FILENAME.EXT","12345","1/01/92","23:59:00","HSRA","C:\DIR\SUBDIR"
  1015.  
  1016.  
  1017.      File Finder/Grouper             18                    (c) EnGamma
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.          4. /FB1_2_p\n_34_5 provides format for later Batch file
  1025.          processing:
  1026.  
  1027.              %1 %2 C:\DIR\SUBDIR\FILENAME.EXT %3%4 %5
  1028.  
  1029.          5. /FB1_p\n_f.2 > changext.bat creates a batch file with
  1030.          lines as follows:
  1031.  
  1032.              %1 C:\DIR\SUBDIR\FILENAME.EXT FILENAME.%2
  1033.  
  1034.              Which could then be used as follows to change the
  1035.              extension of all found files to ".NEW":
  1036.  
  1037.              changext rename NEW
  1038.  
  1039.          6. /F, /FS! displays comma-delimited output without summary
  1040.          information.
  1041.  
  1042.          7. /FS. displays summary information only
  1043.  
  1044.  
  1045.      /g  Go to directory of first found file
  1046.  
  1047.          When this option is used, FFG changes the current disk drive
  1048.          and directory to the drive/directory of the first found file.
  1049.          No other files are found.  If the first found file is in an
  1050.          archive file (/z option used), FFG changes to the disk and
  1051.          directory of the archive file that contains the found file.
  1052.          If searching for directories instead of files, FFG changes
  1053.          into the found directory (makes it the current directory).
  1054.  
  1055.  
  1056.      /h  Hidden directories
  1057.  
  1058.          /h[.|!]
  1059.  
  1060.          Hidden directories are searched by default.  The following
  1061.          modifications are possible:
  1062.  
  1063.          /h  - toggle hidden directories search option (i.e, hidden
  1064.                directories will be skipped since the default is to
  1065.                search them)
  1066.          /h. - only hidden directories are searched
  1067.          /h! - do not search hidden directories
  1068.  
  1069.  
  1070.      /p##    Page at a time
  1071.  
  1072.          /p[##] pause after every ## lines of output; ## is optional;
  1073.  
  1074.          This option causes output and searching to pause after ##
  1075.          lines of screen output.  If ## is not specified, the current
  1076.  
  1077.      File Finder/Grouper             19                    (c) EnGamma
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.          screen height will be assumed.  If ## is set to 0, there will
  1085.          be no pause (as though /p were not used at all).
  1086.  
  1087.          ## = blank    - pause after one screenful of output.
  1088.          ## = 0        - continuous output - don't pause (this is the
  1089.                          default if /p is not specified)
  1090.          ## = 1        - pause after each found file (useful for
  1091.                          providing an opportunity for user interaction
  1092.          ## = other #  - pause after ## lines of output.
  1093.  
  1094.      /q  Quiet - Suppresses all but specified output events
  1095.  
  1096.      /q[M][T][S][F] - Suppresses output for all but:
  1097.  
  1098.          M = Spinning meter
  1099.          T = program title line
  1100.          S = Output summary
  1101.          F = Found File
  1102.  
  1103.            if /q is specified alone all output is suppressed
  1104.  
  1105.      /r  Recursion (subdirectory search)
  1106.  
  1107.          By default FFG recursively searches all descendent
  1108.          directories of the starting directory in the directory tree
  1109.          structure.  When the /r option is used only the starting
  1110.          directory is searched.
  1111.  
  1112.      /s  Size of file
  1113.  
  1114.          /sSizeRangeStr[[,|']SizeRangeStr...] - include only files
  1115.          matching specified size
  1116.  
  1117.          where SizeRangeStr is one of the following:
  1118.  
  1119.          Size                  - only files of this size
  1120.          MinSize-MaxSize       - only files within this size range
  1121.                                  inclusive
  1122.          -MaxSize              - only files this size or smaller
  1123.          MinSize-              - only files this size or larger
  1124.  
  1125.          MinSize, Size, MaxSize can use suffixes K, M, G as
  1126.          abbreviations of 1 Kilobyte, 1 Megabyte, and 1 Gigabyte (e.g.
  1127.          /s1K-25M)
  1128.          Size Examples
  1129.  
  1130.          /s0                   - empty files
  1131.          /s1M-                 - very large files (>= 1 megabyte)
  1132.          /s-500                - tiny files (<= 500 bytes)
  1133.          /s1K-2K               - 1024-byte to 2048-byte files
  1134.          /s-500 /s!0           - smaller than 500 bytes but not empty
  1135.          /s-500,1M-            - tiny or very large files
  1136.  
  1137.      File Finder/Grouper             20                    (c) EnGamma
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.      /t  Time of file
  1146.  
  1147.          /tTimeRangeStr[[,|']TimeRangeStr...] - include only files
  1148.          matching specified times
  1149.  
  1150.          where TimeRangeStr is one of the following:
  1151.  
  1152.          hh:mm:ss              - only files matching this time
  1153.          h1:m1:s1-h2:m2:s2     - only files within this time range
  1154.                                  inclusive
  1155.          -hh:mm:ss             - only files on or before this time
  1156.          hh:mm:ss-             - only files on or after this time
  1157.          nN, Nm                - n minutes before now, m minutes after
  1158.                                  now - can be used as min or max in
  1159.                                  time ranges
  1160.  
  1161.          Times must be specified using a 24-hour clock (i.e, 23:00
  1162.          instead of 11:00 PM).  Time ranges may span 0:00 (midnight).
  1163.          Asterisks may be used in lieu of hh,mm,ss time elements to
  1164.          ignore an element.  The characters H, M, S can be used in
  1165.          lieu of numeric hh, mm, ss elements to use the current hours
  1166.          (H), minutes (M), seconds (S).  If some elements are left off
  1167.          assumptions are made as follows:  If an element is left off
  1168.          and its separator ':' is not used then '0' is assumed for
  1169.          that element (e.g., 9 -> 9:00:00).  However, if the separator
  1170.          is specified then '*' is assumed for that element (e.g., 9: -
  1171.          > 9:*:*)
  1172.  
  1173.          Time Examples
  1174.  
  1175.          /t-8:00               - Earlybird files (before 8am)
  1176.          /t17:00-8:00          - After-hours files
  1177.          /t17:00-              - Evening/night files
  1178.          /t8:00-17:00          - Workday files
  1179.          /t10N- /dT            - Recent files (within last 10 minutes)
  1180.          /t9:*:*               - Same as range 9:00:00-9:59:59
  1181.          /t9-10                - Same as 9:00:00-10:00:00
  1182.          /t9:-10:              - Same as 9:*:*-10:*:*
  1183.          /t::                  - Same as *:*:*
  1184.          /t9:10:
  1185.  
  1186.      /v[2][4][5] - Change video lines to 25, 43,or 50
  1187.  
  1188.          2 = 25 lines
  1189.          4 = 43 lines (EGA and VGA only)(43 even if its VGA)
  1190.          5 = 50 lines (VGA only)
  1191.  
  1192.          if /v is specified alone the video mode is toggle between the
  1193.          25 and the maximum number of lines supported (43 or 50
  1194.          depending on whether video is EGA or VGA).
  1195.  
  1196.  
  1197.      File Finder/Grouper             21                    (c) EnGamma
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.      /x  Exclude Files
  1205.  
  1206.          /xFileMaskList - exclude all files in FileMaskList,
  1207.  
  1208.          where FileMaskList is a list of file specs separated by ','
  1209.          commas.  For example, /x*.bat,*.exe,*.com or /x*.[bat,exe,com]
  1210.  
  1211.          If multiple /x option switches are specified, a file will be
  1212.          excluded only if it matches all of the separate /x criteria.
  1213.          For example, /x*boy* /x*dog* will exclude the files
  1214.          BOYDOG.DAT, DOGBOY.DAT, but not BOYS.DAT or DOGS.DAT.
  1215.  
  1216.          To exclude files that contain either 'BOY' or 'DOG' in the
  1217.          name specify:  /x*[boy,dog]*, which is equivalent to
  1218.          /x*boy*,*dog*
  1219.  
  1220.      /z  ZIP and other archive file search
  1221.  
  1222.          /z[.][ArcExtList] - Search inside archive files.
  1223.  
  1224.          .           = search ONLY inside archive files.
  1225.          ArcExtList  = list of file extensions to treat as archives.
  1226.                        e.g., /zZIP,ARC,LZH,ARJ,COM
  1227.  
  1228.          Archive Examples
  1229.  
  1230.          /zZIP        - Limits archive search to ZIP files
  1231.          /zARC,LZH    - Limits archive search to ARC and LZH files
  1232.          /z.          - Limits search to only archive files
  1233.  
  1234.      /$ - Include files containing text the specified text string
  1235.  
  1236.      /$[=c][=!][=#n]TextCodeStr[=c][[,|'][=!][=#n]TextCodeStr2[=c]...]
  1237.  
  1238.  
  1239.      Include files containing the string(s) represented by
  1240.      TextCodeStr.  TextCodeStr can be a comma-separated/bracketed set
  1241.      of alternatives (see syntax for name searching)
  1242.  
  1243.          TextCodeStr-  TextCodeStr is alphnumeric text with optional
  1244.                        imbedded codes for special characters.
  1245.  
  1246.          =c          = Case Sensitivity
  1247.  
  1248.                        The '=c' at the beginning of the option sets
  1249.                        the case-sensitiviy for all alternatives
  1250.                        specified in the option argument.  This can be
  1251.                        overridden for a specific alternative by
  1252.                        putting a '=c' in that altnative string.  For
  1253.                        example,
  1254.  
  1255.                                /$=cfirst,second=c,third
  1256.  
  1257.      File Finder/Grouper             22                    (c) EnGamma
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.                        would match files containing "first" (case
  1265.                        sensitive) or "second" (ignoring case), or
  1266.                        "third" (case sensitive).
  1267.  
  1268.                        If mixed case it used in a text string, it is
  1269.                        taken to imply that the search should be case-
  1270.                        sensitive, regardless of whether '=c' is
  1271.                        specified.
  1272.  
  1273.          =!          = Exclude file if TextString found.
  1274.  
  1275.          =#n         = Search only first 'n' bytes of file
  1276.  
  1277.          =Code       = If within TextString '=' is followed by a 1-3
  1278.                        digit numeric code with a value between 1 and
  1279.                        255, the character corresponding to that
  1280.                        numeric code will be matched.  This enables
  1281.                        specifying control codes and any other codes
  1282.                        that might be otherwise not be allowed by DOS
  1283.                        on the commad line.  For example,
  1284.  
  1285.                                FFG *.exe /$=cPK=3=4
  1286.  
  1287.                        would search EXE files for self-extracting
  1288.                        PKZip files.  The above /$ option example is
  1289.                        equivalent to /$=cPK=003=004.  The leading
  1290.                        zeroes are necessary only when you want to
  1291.                        follow the code with numeric text.
  1292.  
  1293.      Special characters - Some characters are interpreted by the DOS
  1294.      command line interpreter and if used would give undesirable
  1295.      results.  These include "><|", the DOS redirection and pipe
  1296.      symbols.  One way around this problem is to specify the codes for
  1297.      these characters using '=' as described above.  An easier way is
  1298.      to use the following alternatives which are interpreted by FFG:
  1299.  
  1300.          =)            = for '>'
  1301.          =(            = for '<'
  1302.          =I or =i      = for '|'
  1303.          =Q or =q      = for '"' (Q for quotes)
  1304.          =:            = for ';'
  1305.          =_            = for ' ' (blank)(to avoid quoting string)
  1306.          ==            = for '=' (to override special function of =)
  1307.  
  1308.      Also, since the characters ",'[]" have special meaning to FFG in
  1309.      specifying alternatives (as in /$[basket,foot,base]ball), if they are
  1310.      to be part of the search text they must be preceded with an '='
  1311.      symbol.  For example, /$Bill's is interpreted incorrectly as
  1312.      "Bill" OR "s", but /$Bill='s is interpreted correctly as "Bill's".
  1313.  
  1314.          Text String Search Examples
  1315.  
  1316.  
  1317.      File Finder/Grouper             23                    (c) EnGamma
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.          /$simple    - finds files containing 'simple' regardless of
  1325.                        case (same as /$SIMPLE)
  1326.          /$=csimple  - finds files containing 'simple' - lower case
  1327.                        only
  1328.          /$T[h,]om   - finds files containing 'Tom' or 'Thom' - case
  1329.                        sensitive
  1330.          /$me /$you  - finds files containing both 'me' and 'you'
  1331.                        regardless of case
  1332.          /$T,=!M     - finds files that either contain a 'T' or don't
  1333.                        contain an 'M', case-insensitive.
  1334.          /$=#4=255WPC  - finds WordPerfect Corporation product data
  1335.                        files; searches only first 4 bytes of file
  1336.  
  1337.      Efficiency Note:  Searching the contents of a file is much slower
  1338.                        than searching by name, date, time, size,
  1339.                        attributes.  Therefore, to improve the speed of
  1340.                        a text search it helps to filter out files
  1341.                        based on these other criteria before searching
  1342.                        the file for text.  FFG will do this filtering
  1343.                        first if you specify other criteria.  The more
  1344.                        narrow the other criteria are, the greater the
  1345.                        speed improvement will be.  A particularly
  1346.                        important criteria is file size.  If you put an
  1347.                        upper limit on the size of the files, it will
  1348.                        save scanning large files.
  1349.  
  1350.                        Another, important way to improve speed is to
  1351.                        use the '=#n' control sequence to limit the
  1352.                        text scan to the first 'n' bytes of the file.
  1353.                        Of course you need to know approximately how
  1354.                        close the data you are searching for is to the
  1355.                        start of the file.  One of the above examples,
  1356.                        uses this technique.
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.      File Finder/Grouper             24                    (c) EnGamma
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.                 Bugs/Known Deficiencies/Future Improvements
  1385.  
  1386.      1.  Further date options are planned such as /dLASTYEAR
  1387.      2.  A date-time option is planned (i.e., /t12/1/93@13:47-)
  1388.      3.  A more general way of specify logical expressions of search
  1389.          criteria is planned, which will allow mixing and matching
  1390.          different criteria.
  1391.      4.  An option to use regular expressions for text searches or
  1392.          name searches or both is planned.
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.      File Finder/Grouper             25                    (c) EnGamma
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.                                Miscellaneous
  1445.  
  1446.      1.  Options can be specified using either '/' or '-' as command
  1447.          line switch characters.
  1448.  
  1449.      2.  FFG is not case sensitive, but future releases may
  1450.          distinguish letter case as new features are added.  Use of
  1451.          lower case letters is recommended.
  1452.  
  1453.      3.  During a search the following keys have a special function:
  1454.  
  1455.          <ESC>         - Aborts/interrupts the search
  1456.          <G>           - Goes to the disk and directory of the last
  1457.                          found file.  If searching for directories,
  1458.                          the found directory will be made current.
  1459.          <S>           - Skips to the next disk drive
  1460.          <B>           - Causes a beep when search complete
  1461.          any other key - Pauses the search operation
  1462.  
  1463.      4.  While searching, FFG displays the drive currently being
  1464.          searched and indicates progress with a spinning run meter.
  1465.          The meter is updated one increment each time a new directory
  1466.          or a new archive file is searched.  When the meter slows, it
  1467.          is indicative of either a directory with many files or an
  1468.          archive file.
  1469.  
  1470.      5.  Summary Report - FFG displays a summary report of the search
  1471.          operation.  It includes:
  1472.  
  1473.                -  Total bytes inside all found files.
  1474.                -  Disk space occupied by found files including unused
  1475.                   space due to the disk cluster/block size.  If the
  1476.                   file is in an archive, then there is no adjustment
  1477.                   made for cluster size.
  1478.                -  Number of directories searched.
  1479.                -  Number of directories in which files were found
  1480.                -  Name/Date/Time/Size/Attribute/Text criteria used
  1481.                -  Number of archive files searched
  1482.                -  Number of archive files in which files were found
  1483.  
  1484.      6.  Logical Combination of Search Criteria - Currently, search
  1485.          criteria of different types (e.g., size and date are
  1486.          different types) are combined in a logical AND expression.
  1487.          That is, for a file to match it must match all criteria.
  1488.          However, within a single command line option of one type
  1489.          (e.g., /d), multiple comma-separated criteria are combined in
  1490.          a logical OR expression.
  1491.  
  1492.      7.  One Floppy Systems - When a floppy drive is specified to be
  1493.          searched (e.g., ab*:FILENAME or ab:FILENAME or a:FILENAME or
  1494.          b:FILENAME), FFG will search the system's only floppy drive
  1495.          regardless of whether one or both floppies were specified.
  1496.  
  1497.      File Finder/Grouper             26                    (c) EnGamma
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.          The summary will report whichever logical drive letter DOS
  1505.          was using at the time to refer to the drive.  (This might be
  1506.          B: if, prior to running FFG, you tried accessing floppy drive
  1507.          B:.)
  1508.  
  1509.      8.  FFG can be renamed.  FFG will recognize the new name and
  1510.          display it in the usage screen if you are using DOS 3.0 or
  1511.          later.
  1512.  
  1513.      9.  Conventions - Several options attach special significance to
  1514.          '!' and to '.'.  Generally, '!' is used to represent
  1515.          "negation"/"logical not"/"turn off".  Generally '.' is used
  1516.          to represent "only"/"these period"/"no others".  The '='
  1517.          symbol will be used as a general purpose 'escape' character
  1518.          to indicate that the subsequent character or characters are
  1519.          to be treated differently than normal.  For example, '=c' is
  1520.          used to indicate case-sensitivity in a text search.
  1521.  
  1522.      10. Commas and batch files - As shown in several of the example
  1523.          batch files, FFG can be used in batch files to build some
  1524.          special or general purpose utilities.  However, there is an
  1525.          annoying problem with encapsulating FFG in a batch file that
  1526.          arises because of the use of the comma ',' as a delimiter for
  1527.          search criteria.  The problem arises because when a comma is
  1528.          used in an argument to a batch file command, DOS interprets
  1529.          it just like a space and it is not passed on to FFG.  To
  1530.          sidestep this problem, FFG accepts alternatives to the comma
  1531.          as follows:
  1532.  
  1533.                 For Name criteria (including /x option) you can use a
  1534.                 slash "/" instead of the comma.
  1535.  
  1536.                 For date, time, size, day-of-week, attribute, and
  1537.                 text criteria, you can use a single quote "'".
  1538.  
  1539.          Note that there is no problem using commas inside a batch
  1540.          file; the problem arises when including commas in a
  1541.          command line argument to a batch file.
  1542.  
  1543.      11. Use of spaces in command line options - Generally spaces and
  1544.          semicolons are not allowed because they are used by DOS to
  1545.          delimit the command-line options.  To enable spaces to be
  1546.          used where legal, you can enclose the entire command line
  1547.          option (including the slash/dash and the switch character) in
  1548.          double qoutes.  For example, use "/$Find this in a file" to
  1549.          find the string "Find this in a file".  Note that /$"Find
  1550.          this in a file" will not work.  It will be interpreted as two
  1551.          options: '/$' and the remainder.
  1552.  
  1553.      12. FFG was developed using Borland C++ 3.1.
  1554.  
  1555.  
  1556.  
  1557.      File Finder/Grouper             27                    (c) EnGamma
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.                             System Requirements
  1565.  
  1566.      Operating System/Environment
  1567.  
  1568.      FFG requires DOS version 3.1 or later.  FFG will also run under
  1569.      Microsoft Windows in a DOS window.
  1570.  
  1571.      Video
  1572.  
  1573.      Although not required, if the system has EGA or VGA video, FFG
  1574.      will be able to display more lines of information on the screen
  1575.      at once using the /v (Video) option.
  1576.  
  1577.      System Memory
  1578.  
  1579.      FFG uses Borland's VROOMM (Virtual Runtime Object-Oriented Memory
  1580.      Management) feature to provide many features while making most
  1581.      efficient use of system memory.  Expanded memory (EMS) is used,
  1582.      if detected, to improve performance.  With low system memory FFG
  1583.      will still operate, but performance may be degraded and some
  1584.      infrequent operations may not be possible.  If there is low
  1585.      conventional memory, but sufficient expanded memory, there may be
  1586.      no noticable performance degradation.  In any case, if low system
  1587.      memory is detected, FFG displays a warning message:
  1588.  
  1589.      WARNING! Low memory.  Program may operate slowly and/or terminate
  1590.      prematurely.
  1591.  
  1592.      FFG requires a minimum of about 125K of conventional system
  1593.      memory.  Most common searches and operations can be conducted
  1594.      without any noticable differences.  Performance and feature
  1595.      availability is maximized when there is greater than
  1596.      approximately 160K of conventional memory.  If during operation,
  1597.      FFG is unable to obtain sufficient memory to continue, it will
  1598.      terminate with the message:
  1599.  
  1600.       ERROR! Insufficient memory to continue.
  1601.  
  1602.      If there is insufficient memory for FFG to execute (less than 125K),
  1603.      one of the following error messages will appear depending on the
  1604.      available memory:
  1605.  
  1606.       Cannot Execute FFG.EXE
  1607.       Abnormal Program Termination                                     .
  1608.       ERROR! Insufficient memory.  125K of available conventional RAM required.
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.      File Finder/Grouper             28                    (c) EnGamma
  1617.